using System;
using System.Collections.Generic;
using System.ServiceModel;
using System.ServiceModel.Activation;

using ibba.src.norisk.BusinessLogic;
using ibba.src.norisk.Contracts;

namespace ibba.src.norisk.ServiceImplementation
{

    [AspNetCompatibilityRequirements(RequirementsMode = System.ServiceModel.Activation.AspNetCompatibilityRequirementsMode.Allowed)]
    [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession,
                     ConcurrencyMode = ConcurrencyMode.Multiple)]

    class ClasseProduto : IClasseProduto    
    {

        private ClasseProdutoBL _classeProdutoBL;

        public ClasseProduto() {

            try
            {
                _classeProdutoBL = new ClasseProdutoBL();
            }
            catch (Exception ex)
            {
                global.ErrorHandler.LogAndThrowFaultException(ex);
            }

        }

        public List<ibba.src.norisk.Contracts.ClasseProduto> ObterClasseProduto()
        {
            List<ibba.src.norisk.Contracts.ClasseProduto> retorno = null;

            try{

                retorno = TranslateClasseProduto.Translate(_classeProdutoBL.ObterClasseProduto());
            }
            catch (Exception ex)
            {
                global.ErrorHandler.LogAndThrowFaultException(ex);
            }

            return (retorno);
        }

        
    }
}
